package vue_controleur;

import commande.receiver.*;

/**
 * Class MiniEditeur est le client dans le patron de conception Command.
 */
public class MiniEditeur {

	private static MiniEditeur _instance;
	private Editeur _editeur;
	private IHM _ihm;

	/**
	 * Constructeur prive pour le patern Singleton.
	 */
	private MiniEditeur() {
		_editeur = new EditeurImpl();
		_ihm = new IHMImpl();
	}
	
	/**
	 * Singleton de l'interface graphique.
	 */
	public static MiniEditeur get() {
		if (_instance == null) {
		    _instance = new MiniEditeur();
		}
		return _instance;
	}
	
	/**
	 * Fonction main.
	 * @param args
	 */
	public static void main(String[] args) {
		MiniEditeur.get();
	}
	
	/**
	 * Retourne l'editeur.
	 * @return Objet Editeur.
	 */
	public Editeur getEditeur() {
		return _editeur;
	}
	
	/**
	 * Retourne l'ihm.
	 * @return Objet IHM.
	 */
	public IHM getIhm() {
		return _ihm;
	}

}
